"""
Lme 封装模块，提供常用方法的中文版本。
"""

from cgitb import text
import glob
from lib2to3.pytree import convert
from re import IGNORECASE
import sys
import time
import lmdb
import clr
clr.AddReference("LunarMarkdownEditor")
from LunarSF.SHomeWorkshop.LunarMarkdownEditor import Globals, LMessageBox, InputBox, OptionBox, EntryInfoInputBox, 设置文件管理器, OptionQuestionProcesser, ReporterDefinition
from LunarSF.SHomeWorkshop.LunarMarkdownEditor.Utils.NPOIHelp import *
from LunarSF.SHomeWorkshop.LunarMarkdownEditor.Utils import HtmlHelp, Speech, R, QRBuilder, Text, LFile, 报表文件生成器
from LunarSF.SHomeWorkshop.LunarMarkdownEditor.Utils import 树型文字表


__all__ = ['取尺寸', 
           '按正则分割', '取匹配片段列表', '匹配多次', '取匹配片段', '匹配单次', '取文本片段', '按正则匹配',
           '当前工作区路径', '验证身份证号', '验证银联卡号', '取文件列表', '取子目录路径列表', '文件是否存在', '目录是否存在', '创建目录', 
           '绝对值', '最大','最小', '合并路径', '连接路径', '筛选文件',
           '显示信息框', '显示警告信息', '显示一般信息', '显示疑问信息', '弹出信息框', '弹出警告信息', '弹出一般信息', '弹出疑问信息',
           '显示消息框', '显示警告消息', '显示一般消息', '显示疑问消息', '弹出消息框', '弹出警告消息', '弹出一般消息', '弹出疑问消息',
           '幂', '圆整', '求和', '商模', '整型', '浮点型', '复数', '逻辑型', '字符串', '字节数组', '不可变字节数组',
           '内存察看对象', '二进制', '八进制', '十六进制', '列表', '词典', '字典', '集合', '不可变集合', '元组', '枚举对象',
           '范围', '迭代对象', '切片对象', '对象', '排序', '逆序', '全部', '任意', '映射', '过滤器', '下一个',
           '聚合', '帮助', '标识', '哈希', '类型', '列出', '可打印字符串', '格式化', '取对象词典', '是实例', 
           '是子类', '有属性', '取属性', '置属性', '删除属性', '__动态加载__', '可调用', '全局变量集',
           '局域变量集', '打印', '输入', '打开', '编译', '运行', '表达式求值', '复制文件', '移动文件',
           '删除文件到回收站', '删除目录', '删除目录到回收站', '重复字符串', '创建树型文字表',
           '删除文件', '打开文件', '打开指定文件', '是否空白字符串', '是否空白文本', '是否空字符串', '是否空文本',
           '取配置项', '取配置元组', '取配置词典', '取配置词典', '取文本宽度', '取文本宽度2', '取文本片段信息', 
           '取文本片段详情', '取片段详情', '取片段信息', '格式化行分割符', '显示输入框', '显示选择框', '显示双值输入框', '显示二值输入框',
           'HHC安装路径', 'HHW安装路径', '当前工作区路径', '工作区CHM输出目录路径', '工作区导出文档目录', '工作区词典文件路径', 
           '工作区附件目录路径', '工作区环境变量文件路径', '工作区脚本目录路径', '工作区脚本图像资源目录路径', 
           '工作区脚本资源目录路径', '工作区锚文件路径', '工作区图像资源目录路径', '历史导出目录文件路径', 
           '历史工作区目录文件路径', '模板文件路径', '内置脚本目录路径', '全局脚本目录路径', 
           '全局脚本图像资源目录路径', '全局脚本资源目录路径', '我的文档目录路径', '系统桌面路径', 
           '用户词典文件路径', '用户环境变量文件路径', '用户目录路径', '取目录结构信息', '写文本文件',
           '新建word文档', '创建word文档', '打开word文档', '新建格式文档', '创建格式文档', '打开格式文档', '转换选择题文本', '转成Html表格文本',
           '中文字号到数值', '数值到中文字号', '中文到数值字号', '数值字号到中文',
           '新建excel文档', '新建excel工作簿', '创建excel文档', '创建excel工作簿', '打开excel文档', '打开excel工作簿', 
           '新建工作簿', '创建工作簿', '打开工作簿', 
           '创建pptx文档', '创建演示文稿', '新建pptx文档', '新建演示文稿', '打开pptx文档', '打开演示文稿',
           '是否图像链接行', '是否标题文本', '是否Todo注释', '是否二维文字表行',
           '是否列对齐定义行', '是否表头分割行', '是否文件链接行', '是否任务列表行',
           '是否废弃任务列表行', '是否分号注释行', '是否冒号注释行', '是否日期标签文本', 
           '格式化日期标签文本', '取文档标题', '取文档副标题', '是否页眉文本行', '按正则替换', 
           '生成随机字符串', '生成随机文本', '取随机字符串列表', '识别二维码', '识别多重二维码', '识别指定区域', '生成二维码文件', '读取图像文件',
           '生成39条形码', '生成128条形码', '生成矩阵条形码', '生成pdf417条形码', '生成ean13条形码',
           '生成39条形码文件', '生成128条形码文件', '生成矩阵条形码文件', '生成pdf417条形码文件', '生成ean13条形码文件', '识别条形码', 
           '是否页脚文本行', '从图像链接取绝对路径', '结束脚本', '暂停脚本', '文本弹性连接',
           '获取网页文本', '获取网页文档', '发送请求', '寄送请求', '全角转半角', '转为半角', '半角转全角', '转为全角', '格式化引号', '取拼音首字母',
           '创建设置文件管理器', '显示保存文件框', '显示打开单文件框', '显示打开多文件框',
           '是否半角标点字符串', '是否全角标点字符串', '是否标点字符串', '是否汉字字符串', 
           '是否半角英文字符串', '是否全角英文字符串', '是否英文字符串', '是否半角阿拉伯数字',
           '是否全角阿拉伯数字', '是否阿位伯数字', '是否汉语拼音字符串',
           '混淆列表', '顺序分派数据', '随机分派数据', '文本转双层列表', '文本转列表',
           '生成aztec条形码', '生成aztec条形码文件', '生成codabar条形码', '生成codabar条形码文件',
           '生成code93条形码', '生成code93条形码文件', '生成ean8条形码', '生成ean8条形码文件',
           '生成itf条形码', '生成itf条形码文件', '生成upca条形码', '生成upca条形码文件',
           '生成upce条形码', '生成upce条形码文件', '生成plessey条形码', '生成plessey条形码文件', 
           '生成报表', '填充报表文件', '逐记录填充报表文件',
           '朗读活动文档', '朗读选定文本', '朗读活动行中匹配文本', '朗读活动行', '在活动文档中取匹配的文本数组', '朗读活动文档中的匹配文本', '朗读文本',
           '工作区活动条目路径', '工作区活动条目短名', '工作区活动条目标题', '工作区勾选条目信息列表', '读文本文件指定行',
           '读文本文件', '读文本文件到列表',
           '打开数据库', '创建数据库', '连接数据库']

# Python 内置方法-Start

def 取尺寸(object):
    return len(object)

def 绝对值(x):
    return abs(x)

def 最大(x):
    return max(x)

def 最小(x):
    return min(x)

def 幂(x, y, mod = None):
    return pow(x, y, mod)

def 圆整(number, ndigits):
    return round(number, ndigits)

def 求和(x, start = 0):
    return sum(x, start)

def 商模(a, b):
    return divmod(a, b)

def 整型(x):
    return int(x)

def 浮点型(x):
    return float(x)

def 复数(real, imag):
    return complex(real, imag)

def 逻辑型(x):
    return bool(x)

def 字符串(x):
    return str(x)

def 字节数组(x, encoding = "utf-8"):
    return bytearray(x, encoding)

def 不可变字节数组(x, encoding = "utf-8"):
    return bytes(x, encoding)

def 内存察看对象(x):
    return memoryview(x)

def 二进制(x):
    return bin(x)

def 八进制(x):
    return oct(x)

def 十六进制(x):
    return hex(x)

def 列表(x):
    return list(x)

def 词典(x):
    return dict(x)

def 字典(x):
    return dict(x)

def 集合(x):
    return set(x)

def 不可变集合(x):
    return frozenset(x)

def 元组(x):
    return tuple(x)

def 枚举对象(x):
    return enumerate(x)

def 范围(x):
    return range(x)

def 迭代对象(x):
    return iter(x)

def 切片对象(x):
    return slice(x)

def 对象():
    return object()

def 排序(x, cmp = None, key = None, reverse = False):
    return sorted(x, cmp, key, reverse);

def 逆序(seq):
    return reversed(seq)

def 全部(x):
    return all(x)

def 任意(x):
    return any(x)

def 映射(func, iter):
    return map(func, iter)

def 过滤器(func, iter):
    return filter(func, iter)

def 下一个(iter):
    return next(iter)

def 聚合(*iter):
    return zip(*iter)

def 帮助(object):
    return help(object)

def 标识(object):
    return id(object)

def 哈希(object):
    return hash(object)

def 类型(object):
    return type(object)

def 列出(object):
    return dir(object)

def 可打印字符串(object):
    return repr(object)

def 格式化(value, format_spec):
    return format(value, format_spec)

def 取对象词典(object):
    return vars(object)

def 是实例(object, classinfo):
    return isinstance(object, classinfo)

def 是子类(cls, clsinfo):
    return issubclass(cls, clsinfo)

def 有属性(object, name):
    return hasattr(object, name)

def 取属性(object, name):
    return getattr(object, name)

def 置属性(object, name, value):
    setattr(object, name, value)

def 删除属性(object, name):
    delattr(object, name)
    
def __动态加载__(name):
    return __import__(name)

def 可调用(object):
    return callable(object)

def 全局变量集():
    return globals()

def 局域变量集():
    return locals()

def 打印(*objects, end = '\n', file = sys.stdout):
    print(*objects, end, file)

def 输入():
    input()
    
def 打开(file, mode = 'r'):
    return open(file, mode)

def 编译(source, filename, mode):
    return compile(source, filename, mode)

def 运行(object):
    return exec(object)

def 表达式求值(expression):
    return eval(expression)

# Python 内置方法-End

def 复制文件(srcPath, destPath):
    文件.复制(srcPath, destPath)

def 移动文件(srcPath, destPath):
    文件.移动(srcPath, destPath)

def 删除文件到回收站(srcPath):
    文件.删除到回收站(srcPath)

def 删除目录(srcPath, recursive):
    文件.删除目录(srcPath, recursive)

def 删除目录到回收站(srcPath, recursive):
    文件.删除目录到回收站(srcPath, recursive)

def 删除文件(srcPath):
    文件.删除(srcPath)

def 打开文件(srcPath):
    文件.打开(srcPath)
    
def 打开指定文件(srcPath):
    文件.打开(srcPath)
    
def 文件是否存在(filePath):
    return 文件.文件已存在(filePath)
    
def 目录是否存在(dirPath):
    return 文件.目录已存在(dirPath)

def 创建目录(dirPath):
    return 文件.创建目录(dirPath);

def 取文件列表(dirPath, searchPattern = "*", onlyTopLevel = True):
    return 文件.从目录取文件(dirPath, searchPattern, onlyTopLevel)

def 取子目录路径列表(dirPath, searchPattern = "*", onlyTopLevel = True):
    return 文件.取子目录路径列表(dirPath, searchPattern, onlyTopLevel)

def 合并路径(path1, path2):
    return 文件.合并路径(path1, path2)

def 连接路径(path1, path2):
    return 文件.连接路径(path1, path2)

def 筛选文件(dirPath, pattern = '*'):
    return 文件.筛选(dirPath, pattern)

def 按正则分割(regex, source, muiltiLines, ignoreCase):
    return 纯文本处理器.按正则分割(regex, source, muiltiLines, ignoreCase)

def 取匹配片段列表(regex, source, muiltiLines = True, ignoreCase = False):
    return 纯文本处理器.取匹配片段列表(regex, source, muiltiLines, ignoreCase)

def 匹配多次(regex, source, muiltiLines = True, ignoreCase = False):
    return 纯文本处理器.取匹配片段列表(regex, source, muiltiLines, ignoreCase)

def 取匹配片段(regex, source, muiltiLines = True, ignoreCase = False):
    return 纯文本处理器.取匹配片段(regex, source, muiltiLines, ignoreCase)

def 匹配单次(regex, source, muiltiLines = True, ignoreCase = False):
    return 纯文本处理器.取匹配片段(regex, source, muiltiLines, ignoreCase)

def 取文本片段(srcText, header, tail, byRegex = False, startIndex = 0, ignoreCase = True, multiLine = True):
    return 纯文本处理器.取文本片段(srcText, header, tail, byRegex, startIndex, ignoreCase, multiLine)

def 取配置项(srcLine):
    return 纯文本处理器.取配置项(srcLine)

def 取配置元组(srcLine):
    return 纯文本处理器.取配置元组(srcLine)

def 取配置词典(configLines):
    return 纯文本处理器.取配置词典(configLines)

def 取配置字典(configLines):
    return 纯文本处理器.取配置词典(configLines)

def 取文本宽度(text):
    return 纯文本处理器.取文本宽度(text)

def 取文本宽度2(text):
    return 纯文本处理器.取文本宽度2(text)

def 取文本片段信息(srcText, header, tail, byRegex = False, startIndex = 0, ignoreCase = True, multiLine = True):
    return 纯文本处理器.取文本片段信息(srcText, header, tail, byRegex, startIndex, ignoreCase, multiLine)

def 取文本片段详情(srcText, header, tail, byRegex = False, startIndex = 0, ignoreCase = True, multiLine = True):
    return 纯文本处理器.取文本片段信息(srcText, header, tail, byRegex, startIndex, ignoreCase, multiLine)

def 取片段详情(srcText, header, tail, byRegex = False, startIndex = 0, ignoreCase = True, multiLine = True):
    return 纯文本处理器.取文本片段信息(srcText, header, tail, byRegex, startIndex, ignoreCase, multiLine)

def 取片段信息(srcText, header, tail, byRegex = False, startIndex = 0, ignoreCase = True, multiLine = True):
    return 纯文本处理器.取文本片段信息(srcText, header, tail, byRegex, startIndex, ignoreCase, multiLine)

def 格式化行分割符(text):
    return 纯文本处理器.格式化行分割符(text)

def 按正则匹配(text, partten, ignoreCase = True, muiltiLines = False):
    return R.匹配(text, partten, ignoreCase, muiltiLines)

def 验证身份证号(text):
    return Globals.ValidateIdCard(text)

def 验证银联卡号(text):
    return Globals.ValidateSavingCard(text)

def 显示信息框(message):
    return LMessageBox.显示信息框(str(message))

def 显示警告信息(message):
    return LMessageBox.显示警告信息(str(message))

def 显示一般信息(message):
    return LMessageBox.显示一般信息(str(message))

def 显示疑问信息(message):
    return LMessageBox.显示疑问信息(str(message))

def 显示消息框(message):
    return LMessageBox.显示信息框(str(message))

def 显示警告消息(message):
    return LMessageBox.显示警告信息(str(message))

def 显示一般消息(message):
    return LMessageBox.显示一般信息(str(message))

def 显示疑问消息(message):
    return LMessageBox.显示疑问信息(str(message))

def 弹出信息框(message):
    return LMessageBox.显示信息框(str(message))

def 弹出警告信息(message):
    return LMessageBox.显示警告信息(str(message))

def 弹出一般信息(message):
    return LMessageBox.显示一般信息(str(message))

def 弹出疑问信息(message):
    return LMessageBox.显示疑问信息(str(message))

def 弹出消息框(message):
    return LMessageBox.显示信息框(str(message))

def 弹出警告消息(message):
    return LMessageBox.显示警告信息(str(message))

def 弹出一般消息(message):
    return LMessageBox.显示一般信息(str(message))

def 弹出疑问消息(message):
    return LMessageBox.显示疑问信息(str(message))

def 显示输入框(prompt, defaultValue, isFilePath, prompt2 = None, isPassword = False, closeIME = False, multiLines = False):
    return InputBox.Show(None, prompt, defaultValue, isFilePath, prompt2, isPassword, closeIME, None, 0, 0, multiLines)

def 显示选择框(prompt, optionLines, defaultValue = "", prompt2 = None, compelRadioButton = False):
    return OptionBox.Show(None, prompt, optionLines, defaultValue, prompt2, compelRadioButton)

def 显示双值输入框(val1Prompt = "", defVal1 = "", val2Prompt = "", defVal2 = "", promptBottom = "", winTitle = ""):
    return EntryInfoInputBox.显示双值输入框(val1Prompt, defVal1, val2Prompt, defVal2, promptBottom, winTitle)

def 显示二值输入框(val1Prompt = "", defVal1 = "", val2Prompt = "", defVal2 = "", promptBottom = "", winTitle = ""):
    return EntryInfoInputBox.显示双值输入框(val1Prompt, defVal1, val2Prompt, defVal2, promptBottom, winTitle)

def 是否图像链接行(text):
    return 纯文本处理器.是否图像链接行(text)

def 是否标题文本(text):
    return 纯文本处理器.是否标题文本(text)

def 是否Todo注释(text):
    return 纯文本处理器.是否Todo注释(text)

def 是否二维文字表行(text):
    return 纯文本处理器.是否二维文字表行(text)

def 是否列对齐定义行(text):
    return 纯文本处理器.是否列对齐定义行(text)

def 是否表头分割行(text):
    return 纯文本处理器.是否表头分割行(text)

def 是否文件链接行(text):
    return 纯文本处理器.是否文件链接行(text)

def 是否任务列表行(text):
    return 纯文本处理器.是否任务列表行(text)

def 是否废弃任务列表行(text):
    return 纯文本处理器.是否废弃任务列表行(text)

def 是否分号注释行(text):
    return 纯文本处理器.是否分号注释行(text)

def 是否冒号注释行(text):
    return 纯文本处理器.是否冒号注释行(text)

def 是否日期标签文本(text):
    return 纯文本处理器.是否日期标签文本(text)

def 格式化日期标签文本(text):
    return 纯文本处理器.格式化日期标签文本(text)

def 取文档标题(text):
    return 纯文本处理器.取文档标题(text)

def 取文档副标题(text):
    return 纯文本处理器.取文档副标题(text)

def 是否页眉文本行(text):
    return 纯文本处理器.是否页眉文本行(text)

def 是否页脚文本行(text):
    return 纯文本处理器.是否页脚文本行(text)

def 是否空白字符串(text):
    return 纯文本处理器.是否空白字符串(text)

def 是否空白文本(text):
    return 纯文本处理器.是否空白文本(text)

def 是否空字符串(text):
    return 纯文本处理器.是否空字符串(text)

def 是否空文本(text):
    return 纯文本处理器.是否空文本(text)

def 从图像链接取绝对路径(markdownImageLinkText, markdownFilePath):
    return 纯文本处理器.从图像链接取绝对路径(markdownImageLink, markdownFilePath)

def 按正则替换(srcText, pattern, replacement):
    return 纯文本处理器.按正则替换(srcText, pattern, replacement)

def 生成随机字符串(chars, minLength, maxLength, repeatTimes = 1, splittor1 = "", splittor2 = '\r\n'):
    return 纯文本处理器.生成随机字符串(chars, minLength, maxLength, repeatTimes, splittor1, splittor2)

def 生成随机文本(chars, minLength, maxLength, repeatTimes = 1, splittor1 = "", splittor2 = '\r\n'):
    return 纯文本处理器.生成随机字符串(chars, minLength, maxLength, repeatTimes, splittor1, splittor2)

def 取随机字符串列表(list, count):
    return 纯文本处理器.取随机字符串列表(list, count)

def 全角转半角(srcText):
    return 纯文本处理器.全角转半角(srcText)

def 转为半角(srcText):
    return 纯文本处理器.转为半角(srcText)

def 半角转全角(srcText, onlyConvertPunctuation = False):
    return 纯文本处理器.半角转全角(srcText, onlyConvertPunctuation)

def 转为全角(srcText, onlyConvertPunctuation = False):
    return 纯文本处理器.转为全角(srcText, onlyConvertPunctuation)

def 格式化引号(srcText, convertThinQuoters = False):
    return 纯文本处理器.格式化引号(srcText, convertThinQuoters)

def 取拼音首字母(srcText):
    return 纯文本处理器.取拼音首字母(srcText)

def 朗读活动文档(isasync = True, lang = "zh-cn"):
    return Speech.朗读活动文档(isasync, lang)
    
def 朗读选定文本(isasync = True, lang = "zh-cn"):
    return Speech.朗读选定文本(isasync, lang)
    
def 朗读活动行中匹配文本(regex, isasync = True, lang = "zh-cn"):
    return Speech.朗读活动行中匹配文本(regex, isasync, lang)
    
def 朗读活动行(isasync = True, lang = "zh-cn"):
    return Speech.朗读活动行(isasync, lang)
    
def 在活动文档中取匹配的文本数组(regex):
    return Speech.在活动文档中取匹配的文本数组(regex)
    
def 朗读活动文档中的匹配文本(regex, isasync = True, lang = "zh-cn"):
    return Speech.朗读活动文档中的匹配文本(regex, isasync, lang)
    
def 朗读文本(text, isasync = True, lang = "zh-cn"):
    return Speech.朗读文本(text, isasync, lang)

def 结束脚本(exitCode = None):
    sys.exit(exitCode)

def 暂停脚本(secondes):
    time.sleep(secondes)

def 获取网页文本(uri, coding_name = 'utf-8'):
    return HtmlHelp.获取网页文本(uri, coding_name)

def 获取网页文档(uri, coding_name = 'utf-8'):
    return HtmlHelp.获取网页文档(uri, coding_name)

def 文本弹性连接(txtlist, ignoreCase = False):
    return 纯文本处理器.弹性连接(txtlist, ignoreCase)

def 发送请求(url, paramsDict):
    return HtmlHelp.发送请求(url, paramsDict)

def 寄送请求(url, paramsDict):
    return HtmlHelp.寄送请求(url, paramsDict)

def 创建设置文件管理器(filePath):
    return 设置文件管理器()

def 显示保存文件框(title, filter, filterIndex, defFileName, initDirectory):
    return 文件.显示保存文件框(title, filter, filterIndex, defFileName, initDirectory)

def 显示打开单文件框(title, filter, filterIndex, defFileName, initDirectory):
    return 文件.显示打开单文件框(title, filter, filterIndex, defFileName, initDirectory)

def 显示打开多文件框(title, filter, filterIndex, defFileName, initDirectory):
    return 文件.显示打开多文件框(title, filter, filterIndex, defFileName, initDirectory)

def 新建word文档():
    return 格式文档管理器()

def 创建word文档():
    return 格式文档管理器()

def 打开word文档(filePath):
    return 格式文档管理器.从文件创建(filePath)

def 新建格式文档():
    return 格式文档管理器()

def 创建格式文档():
    return 格式文档管理器()

def 打开格式文档(filePath):
    return 格式文档管理器.从文件创建(filePath)

def 新建excel文档(auto_create_sheet = True):
    return 工作簿管理器(auto_create_sheet)

def 新建excel工作簿(auto_create_sheet = True):
    return 工作簿管理器(auto_create_sheet)

def 新建工作簿(auto_create_sheet = True):
    return 工作簿管理器(auto_create_sheet)

def 创建excel文档(auto_create_sheet = True):
    return 工作簿管理器(auto_create_sheet)

def 创建excel工作簿(auto_create_sheet = True):
    return 工作簿管理器(auto_create_sheet)

def 创建工作簿(auto_create_sheet = True):
    return 工作簿管理器(auto_create_sheet)

def 打开excel文档(filePath):
    return 工作簿管理器.从文件创建(filePath)

def 打开excel工作簿(filePath):
    return 工作簿管理器.从文件创建(filePath)

def 打开工作簿(filePath):
    return 工作簿管理器.从文件创建(filePath)

def 新建pptx文档(size = 幻灯片尺寸.标准幻灯片):
    return 演示文稿管理器(size)

def 创建pptx文档(size = 幻灯片尺寸.标准幻灯片):
    return 演示文稿管理器(size)

def 打开pptx文档(path):
    return 演示文稿管理器(path)

def 新建演示文稿(size = 幻灯片尺寸.标准幻灯片):
    return 演示文稿管理器(size)

def 创建演示文稿(size = 幻灯片尺寸.标准幻灯片):
    return 演示文稿管理器(size)

def 打开演示文稿(path):
    return 演示文稿管理器(path)

def 中文字号到数值(fontsize):
    return 段落样式.中文字号到数值(fontsize)

def 中文到数值字号(fontsize):
    return 段落样式.中文字号到数值(fontsize)

def 数值到中文字号(fontsize):
    return 段落样式.数值到中文字号(fontsize)

def 数值字号到中文(fontsize):
    return 段落样式.数值到中文字号(fontsize)

def 取目录结构信息(dirPath):
    return 文件.取目录结构信息(dirPath)

def 写文本文件(filePath, contents, encoding = "UTF8"):
    return 文件.写文本文件(filePath, contents, encoding)

def 转换选择题文本(srcText):
    return OptionQuestionProcesser.ConvertToExamText(srcText)

def 是否半角标点字符串(text):
    return 纯文本处理器.是否半角标点字符串(text)

def 是否全角标点字符串(text):
    return 纯文本处理器.是否全角标点字符串(text)

def 是否标点字符串(text):
    return 纯文本处理器.是否标点字符串(text)

def 是否汉字字符串(text):
    return 纯文本处理器.是否汉字字符串(text)

def 是否半角英文字符串(text):
    return 纯文本处理器.是否半角英文字符串(text)

def 是否全角英文字符串(text):
    return 纯文本处理器.是否全角英文字符串(text)

def 是否英文字符串(text):
    return 纯文本处理器.是否英文字符串(text)

def 是否半角阿拉伯数字(text):
    return 纯文本处理器.是否半角阿拉伯数字(text)

def 是否全角阿拉伯数字(text):
    return 纯文本处理器.是否全角阿拉伯数字(text)

def 是否阿位伯数字(text):
    return 纯文本处理器.是否阿位伯数字(text)

def 是否汉语拼音字符串(text):
    return 纯文本处理器.是否汉语拼音字符串(text)

def 读取图像文件(imagePath):
    return QRBuilder.ReadImageFileToBitmap(imagePath)

def 识别二维码(imagePathOrBitmap):
    return QRBuilder.DecodeQRCodeByZXing(imagePathOrBitmap)

def 识别多重二维码(imagePathOrBitmap):
    return QRBuilder.DecodeMultipleQRCodesByZXing(imagePathOrBitmap)

def 识别指定区域(imgFilePath, left = 0, top = 0, width = 1, height = 1):
    return QRBuilder.识别区域(imgFilePath, left, top, width, height)

def 识别指定区域(bitmap, left = 0, top = 0, width = 1, height = 1):
    return QRBuilder.识别区域(bitmap, left, top, width, height)

def 生成二维码文件(destImagePath, sourceText, eccLevel = "Default", iconPath = None, iconSize = 64, encodeUrl = False):
    return QRBuilder.生成二维码文件(destImagePath, sourceText, eccLevel, iconPath, iconSize, encodeUrl)

def 生成39条形码(text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成39条形码(text, width, height, margin)

def 生成128条形码(text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成128条形码(text, width, height, margin)

def 生成矩阵条形码(text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成矩阵条形码(text, width, height, margin)

def 生成pdf417条形码(text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成pdf417条形码(text, width, height, margin)

def 生成ean13条形码(text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成ean13条形码(text, width, height, margin)


def 生成39条形码文件(destFilePath, text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成39条形码文件(destFilePath, text, width, height, margin)

def 生成128条形码文件(destFilePath, text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成128条形码文件(destFilePath, text, width, height, margin)

def 生成矩阵条形码文件(destFilePath, text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成矩阵条形码文件(destFilePath, text, width, height, margin)

def 生成pdf417条形码文件(destFilePath, text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成pdf417条形码文件(destFilePath, text, width, height, margin)

def 生成ean13条形码文件(destFilePath, text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成ean13条形码文件(destFilePath, text, width, height, margin)

def 识别条形码(filePathOrBitmap):
    return QRBuilder.识别条形码(filePathOrBitmap)

def 生成aztec条形码(text, width = 440, height = 440, margin = 1):
    return QRBuilder.生成aztec条形码(text, width, height, margin)

def 生成aztec条形码文件(imagePath, text, width = 440, height = 440, margin = 1):
    return QRBuilder.生成aztec条形码文件(imagePath, text, width, height, margin)

def 生成codabar条形码(text, width = 440, height = 220, margin = 1):
    return QRBuilder.生成codabar条形码(text, width, height,margin)

def 生成codabar条形码文件(imagePath, text, width = 440, height = 220, margin = 1):
    return QRBuilder.生成codabar条形码文件(imagePath, text, width, height,margin)

def 生成code93条形码(text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成code93条形码(text, width, height, margin)

def 生成code93条形码文件(imagePath, text, width = 440, height = 310, margin = 1):
    return QRBuilder.生成code93条形码文件(imagePath, text, width, height, margin)

def 生成ean8条形码(text, width = 440, height = 440, margin = 1):
    return QRBuilder.生成ean8条形码(text, width, height, margin)

def 生成ean8条形码文件(imagePath, text, width = 440, height = 440, margin = 1):
    return QRBuilder.生成ean8条形码文件(imagePath, text, width, height, margin)

def 生成itf条形码(text, width = 440, height = 400, margin = 1):
    return QRBuilder.生成itf条形码(text, width, height, margin)

def 生成itf条形码文件(imagePath, text, width = 440, height = 400, margin = 1):
    return QRBuilder.生成itf条形码文件(imagePath, text, width, height, margin)

def 生成upca条形码(text, width = 440, height = 240, margin = 1):
    return QRBuilder.生成upca条形码(text, width, height, margin)

def 生成upca条形码文件(imagePath, text, width = 440, height = 240, margin = 1):
    return QRBuilder.生成upca条形码文件(imagePath, text, width, height, margin)

def 生成upce条形码(text, width = 440, height = 240, margin = 1):
    return QRBuilder.生成upce条形码(text, width, height, margin)

def 生成upce条形码文件(imagePath, text, width = 440, height = 240, margin = 1):
    return QRBuilder.生成upce条形码文件(imagePath, text, width, height, margin)

def 生成plessey条形码(text, width = 440, height = 160, margin = 1):
    return QRBuilder.生成plessey条形码(text, width, height, margin)

def 生成plessey条形码文件(imagePath, text, width = 440, height = 160, margin = 1):
    return QRBuilder.生成plessey条形码文件(imagePath, text, width, height, margin)

def 混淆列表(list):
    return Text.混淆列表(list)

def 顺序分派数据(list1, list2, splittor = '\t'):
    return Text.顺序分派数据(list1, list2, splittor)

def 随机分派数据(list1, list2, splittor = '\t'):
    return Text.随机分派数据(list1, list2, splittor)

def 文本转双层列表(srcText, cellSplittor, ignoreBlankLine = True, spanIgnoreMode = 1, trim = True):
    return Text.文本转双层列表(srcText, cellSplittor, ignoreBlankLine, spanIgnoreMode, trim)

def 文本转列表(srcText, cellSplittorList = None, spanIgnoreMode = 1, trim = True):
    return Text.文本转列表(srcText, cellSplittorList, spanIgnoreMode, trim)

def 读文本文件指定行(filePath, startLineNumber, endLineNumber):
    return Globals.读文本文件指定行(filePath, startLineNumber, endLineNumber)

def 转成Html表格文本(srcTxt, fstLineIsHeader, lineSplittor = "\r\n", cellSplittor = "\t"):
    return Text.转成Html表格文本(srcTxt, fstLineIsHeader, lineSplittor, cellSplittor)

def 生成报表(reporterScript, textOf2DTable):
    return ReporterDefinition.PreviewReporter(reporterScript, textOf2DTable)

def 填充报表文件(reporterScript, textOf2DTable, filePath):
    return 报表文件生成器.生成多页报表文件(reporterScript, textOf2DTable, filePath)

def 逐记录填充报表文件(reporterScript, textOf2DTable, filePath, fieldNamesAsShortFileName = None):
    return 报表文件生成器.逐记录生成报表文件(reporterScript, textOf2DTable, filePath, fieldNamesAsShortFileName)

def 读文本文件(filePath):
    return LFile.ReadUTF8TextFile(filePath)

def 读文本文件到列表(filePath):
    return LFile.ReadUTF8Lines(filePath)

def 重复字符串(piece, repeatCount):
    return 纯文本处理器.重复字符串(piece, repeatCount)

def 创建树型文字表(src):
    return 树型文字表(src)

def 创建树型文字表():
    return 树型文字表()

# 以下为对 lmdb 的引用

def 打开数据库(dbPath):
    return lmdb.打开数据库(dbPath)

def 创建数据库(dbPath):
    return lmdb.打开数据库(dbPath)
    
def 连接数据库(dbPath):
    return lmdb.打开数据库(dbPath)

# 以上为对 lmdb 的引用


系统桌面路径 = Globals.PathOfDeskTop

用户目录路径 = Globals.PathOfUserFolder

我的文档目录路径 = Globals.PathOfMyDocuments

当前工作区路径 = Globals.PathOfWorkspace

全局脚本目录路径 = Globals.PathOfPythonScripts

全局脚本资源目录路径 = Globals.PathOfPythonScriptResources

全局脚本图像资源目录路径 = Globals.PathOfPythonScriptImageResources

工作区脚本目录路径 = Globals.PathOfWorkspacePythonScripts

工作区脚本资源目录路径 = Globals.PathOfWorkspacePythonScriptResources

工作区脚本图像资源目录路径 = Globals.PathOfWorkspacePythonScriptImageResources

内置脚本目录路径 = Globals.PathOfLmedPyScripts

模板文件路径 = Globals.PathOfWorkspaceCommonTemplateFile

用户词典文件路径 = Globals.PathOfUserDictionary

工作区词典文件路径 = Globals.PathOfWorkspaceDictionary

工作区锚文件路径 = Globals.PathOfWorkspaceAnchorsFilePath

历史导出目录文件路径 = Globals.PathOfHistoryOutputFileFullName

历史工作区目录文件路径 = Globals.PathOfHistoryWorkspaceFileFullName

HHW安装路径 = Globals.HHWInstalledPath

HHC安装路径 = Globals.HHCInstallPath

用户环境变量文件路径 = Globals.PathOfUserEnvironmentValuesFilePath

工作区环境变量文件路径 = Globals.PathOfWorkspaceEnvironmentValuesFilePath

工作区附件目录路径 = Globals.PathOfWorkspaceAssetsFolder

工作区CHM输出目录路径 = Globals.PathOfWorkspaceChmsFolder

工作区导出文档目录 = Globals.PathOfWorkspaceOutputDocsFolder

工作区图像资源目录路径 = Globals.PathofWorkspaceImages

工作区活动条目标题 = Globals.工作区活动条目标题

工作区活动条目路径 = Globals.工作区活动条目路径

工作区活动条目短名 = Globals.工作区活动条目短名

工作区勾选条目信息列表 = Globals.工作区勾选条目信息列表

